<?php

namespace App\Http\Controllers\Admin\register;

use App\Http\Controllers\Controller;
use App\Logic\RegisterLogic;
use App\Models\Login;
use App\Service\Sms;
use Illuminate\Http\Request;

class Registercontroller extends Controller
{
    /**
     * @后台注册展示页面
     * @user 刘璇
     * @method get
     * @url https://www.healthcare.com/register
     * @data
     * @return \Illuminate\Http\Response
     */
    public function registerAdmin()
    {
        return view('register.register');
    }

    /**
     * @注册发送短信验证码
     * @user 刘璇
     * @method get
     * @url https://www.healthcare.com/getcode
     * @data
     * @return \Illuminate\Http\Response
     */
    public function getCode(Request $request)
    {
        $phone = $request->get('phone');
        //调用第三方服务(短信宝)
        $result = Sms::send($phone);
        return response()->json(['code'=>200,'message'=>"短信验证码发送成功",'data'=>$result]);
    }

    /**
     * @后台注册
     * @user 刘璇
     * @method post
     * @url https://www.healthcare.com/doregister
     * @data
     * @return \Illuminate\Http\Response
     */
    public function doRegisterAdmin(Request $request){
        //接收表单提交的数据
        $data = $request->all();
        //表单进行验证
        $validated = $request->validate([
//            'username' => 'required|unique:admin|max:30',//用户名不能为空 必须唯一 长度最大30
            'password' => 'required',//密码不能为空
            'repassword' => 'required',//确认密码不能为空
            'phone' => 'required|regex:/^1[3-9]\d{9}$/',
            //手机号不能为空 手机号以数字 1开头，第二位为 3~9的数字，随后9位为数字组成的11位手机号
        ],[
            'username.required'=>'用户名不能为空',
            'password.required'=>'密码不能为空',
            'repassword.required'=>'确认密码不能为空',
            'phone.required'=>'手机号不能为空',

            'username.unique'=>'用户名已存在',
            'username.max'=>'用户名格式不正确,不能超过30个字符',
            'phone.regex'=>'手机号码格式不正确',
        ]);
        $resul=RegisterLogic::doregister($data);
        //通过模型进行添加入库
        Login::create([
            'username' => $data['username'],
            'phone' => $data['phone'],
            'password' => md5($data['password']),//对密码进行md5加密
            'status'=>1
        ]);
        //注册成功返回登录页面 重新登录
        return redirect('login');
    }


}
